// 全局变量
var today = new Date();
var todayTxt = today.format('yyyy-MM-dd');

var MY_PUBLIC_EVALUATION = (function() {

    function loadItem() {

        var $tbody = $('#doctor_online_tbody');
        $tbody.empty();

        var params = {};
        params.ruleType = 'pres_rule'
        WeKnow.loading();

        $.ajax({
            type: "POST",
            url: "doctor_online.do/load",
            dataType: "json",
            data: params,
            async: false,//异步调用
            success: function(data) {

                WeKnow.closeLoading();

                if (!WeKnow.filterAjaxResult(data)) return false; // session过期check

                if (data.errcode == 0) {
                    if ( 'datalist' in data && data.datalist.length == 0 ){
                        WeKnow.errorMsg('没有查询医师在岗数据');
                        $tbody.empty();
                        return;
                    }
                    var e = '';
                    console.log(data.datalist);
                    $(data.datalist).each(function( idx,_a){
                        e+='<tr class="pointer" ';
                        e += ' data-id="' + _a.id+ '"';
                        e += ' data-rulename="' + _a.ruleName+ '"';
                        e += ' data-ruleid="' + _a.ruleId+ '"';
                        e += ' data-iswarning="' + _a.isWarning+ '"';
                        e += ' data-rulewhite=' + JSON.stringify(_a.ruleWhite)+ '';
                        e += ' data-diagnosis=' + _a.diagnosis+ '';
                        e += ' data-icd10=' +_a.diagnosisIcd10+ '';
                        if (_a.icd10Section != null &&_a.icd10Section.length > 0) {
                            e += ' data-technical=' +_a.icd10Section[0].option1_1+ '';
                        } else {
                            e += ' data-technical=""';
                        }
                        e+='>';
                        // 规则名称
                        e+='<td class="text-left">'+  _a.ruleName + '</td>';
                        //规则描述
                        e+='<td class="text-left">'+  _a.ruleDesc + '</td>';
                        // 是否预警
                        e+='<td class="text-center">'+ (_a.isWarning == 0?'<div style="height: 20px;width: 100px;border-radius: 10px;background-color: #F2B9B9;margin-left: 20%";>关闭预警</div>':'<div style="height: 20px;width: 100px;border-radius: 10px;background-color: #3FC198;margin-left: 20%";>开启预警</div> ') + '</td>';
                        // 白名单
                        e+='<td class="text-left" style="width:25%" title="'+(_a.isWhite == 0?'无':(_a.institutions == null?'无':_a.institutions))+'"><div style="display:inline-block;width:500px;overflow:hidden;white-space: nowrap;text-overflow: ellipsis;">'+ (_a.isWhite == 0?'无':(_a.institutions == null?'无':_a.institutions)) + '</div></td>';
                        // 操作人
                        e+='<td class="text-center">'+ (_a.operatorName == null?'-':_a.operatorName) + '</td>';
                        // 年月
                        e+='<td class="text-center">'+ new Date(_a.updateTm).format('yyyy-MM-dd hh:mm:ss'); + '</td>';
                        // 操作
                        e+='<td class="text-center"><span class="view" style="color: blue">查看</span> <span class="edit" style="color: blue">编辑</span></td>';
                        e+='</tr>';
                    });
                    $tbody.append(e);

                } else if (data.errcode == -1 ) {
                    WeKnow.errorMsg( data.errMsg );

                    layui.use('laypage', function(){
                        var laypage = layui.laypage;
                        //执行一个laypage实例
                        laypage.render({
                            elem: 'searchPagination',
                            count: 11,
                            limit: 10,
                            curr: 1,
                            jump: function (obj, first) { //obj为当前页的属性和方法，第一次加载first为true
                                //非首次加载 do something
                                if (!first) {
                                    //清空以前加载的数据
                                    $tbody.empty();
                                    //调用加载函数加载数据
                                    // COMPREHENSIVE_DISPLAY.searchLoad($that, searchKey, obj.curr);
                                }
                            }
                        });
                    });
                } else {
                    WeKnow.systemMsg('查询失败，请重新登录后再试');
                }
            }
        });
    }

    function getSearchParams(){

        var data = {};

        // 日期 from - to
        var $dtFrom = $('#dtFrom');
        if ( !$dtFrom.val().length ){
            WeKnow.errorMsg('请输入查询开始日期');
            $dtFrom.focus();
            return false;
        }

        var dtFrom = $dtFrom.val();
        if ( !MY_VALIDATOR.isDate(dtFrom,'yyyy-MM-dd')){
            WeKnow.errorMsg('查询开始日期格式不正确');
            $dtFrom.focus();
            return false;
        }
        data.dtFrom = dtFrom;

        // 查询日期to
        var $dtTo = $('#dtTo');
        if ( !$dtTo.val().length ){
            WeKnow.errorMsg('请输入查询结束日期');
            $dtTo.focus();
            return false;
        }

        var dtTo = $dtTo.val();
        if ( !MY_VALIDATOR.isDate(dtTo,'yyyy-MM-dd')){
            WeKnow.errorMsg('查询结束日期格式不正确');
            $dtTo.focus();
            return false;
        }
        if($dtFrom.val()>$dtTo.val()){
            WeKnow.errorMsg('开始时间不能大于结束时间');
            return false;
        }
        data.dtTo = dtTo;

        // 诊所名
        var searchName = $.trim( $('#searchName').val());
        if ( searchName.length ){
            data.name = searchName;
        }

        return data;
    }

    return {
        loadItem:loadItem,
        getSearchParams:getSearchParams,
    }

})();

$(document).ready(function() {

    $(".my_date_control" ).datepicker({
        changeMonth: true,
        changeYear: true,
        dateFormat: 'yy-mm-dd',//日期格式
        yearSuffix: '年', //年的后缀
        showMonthAfterYear:true,//是否把月放在年的后面
        maxDate: (function() {
            return todayTxt;
        })(),//最大日期
        yearRange: (function() {
            // '1990:2010'
            var year1 = '1900';
            var year2 = today.getFullYear();
            return year1 + ':' + year2;
        })(),
        monthNamesShort: ['01','02','03','04','05','06','07','08','09','10','11','12'],
        dayNamesMin: ['日','一','二','三','四','五','六'],
        onUpdatedDatepicker: function(_year, _month, _calendar) {
            // console.log('onUpdatedDatepicker');
            var $c = $('div#ui-datepicker-div');
            $c.find('td[data-handler="selectDay"]').each(function(idx, d) {
                var $d = $(d);
                $d.css({'pointer-events': 'auto', 'opacity': 1});
            });
        }
    });

    //查询按钮按下
    $('#search').on('click',function(){
        layui.use('table', function(){
            var table = layui.table;
            //执行一个laypage实例
            table.render({
                elem: '#demo',
                autoSort: false,
                initSort: {
                    field: 'pct0', //排序字段，对应 cols 设定的各字段名
                    type: 'desc' //排序方式  asc: 升序、desc: 降序、null: 默认排序
                },
                height: $(document).height() - $('#demo').offset().top - 22,
                url: "invs_wd_public_evaluation.do/load",
                method: "POST",
                where: MY_PUBLIC_EVALUATION.getSearchParams(),
                cellMinWidth: 80,
                page: true,
                limit: 10,
                limits: [10, 20, 50, 100],
                cols: [[
                    {field:'name', title:'机构名称', align:'left', width:'23%'},
                    {field:'total', title:'总评价数', align:'center',width:'11%', sort:true},
                    {field:'type0', title:'满意数', align:'center',width:'11%', sort:true},
                    {field:'pct0', title:'满意比列(%)', align:'center',width:'11%', sort:true},
                    {field:'type1', title:'一般数', align:'center',width:'11%', sort:true},
                    {field:'pct1', title:'一般比例(%)', align:'center',width:'11%', sort:true},
                    {field:'type2', title:'不满意数', align:'center',width:'11%', sort:true},
                    {field:'pct2', title:'不满意比例(%)', align:'center',width:'11%', sort:true},
                ]],
            });

            table.on('sort(test)', function(obj){ //注：tool是工具条事件名，test是table原始容器的属性 lay-filter="对应的值"
                //尽管我们的 table 自带排序功能，但并没有请求服务端。
                //有些时候，你可能需要根据当前排序的字段，重新向服务端发送请求，从而实现服务端排序，如：
                table.reload('demo', {
                    initSort: obj //记录初始排序，如果不设的话，将无法标记表头的排序状态。 layui 2.1.1 新增参数
                    ,where: { //请求参数（注意：这里面的参数可任意定义，并非下面固定的格式）
                        field: obj.field //排序字段
                        ,order: obj.type //排序方式
                    }
                });
            });
        });
    });

    $("button#search").trigger("click");
});